The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for adaptively determining response time distributions of transactional workloads.
Many computer environments today, such as enterprise resource planning (ERP) systems and database processing systems, operate on what are referred to as transactional workloads. A transaction is a unit of work performed within a system and treated in a coherent and reliable way independent of other transactions. By definition, a transaction must be atomic, consistent, isolated and durable. Practitioners often refer to these properties of transactions using the acronym ACID. Transactions provide an “all-or-nothing” proposition, stating that each work-unit performed must either complete in its entirety or have no effect whatsoever.
A computer system may sort transactions into service classes according to sets of predefined rules. A service class is a group of work that shares similar attributes and is managed by the system toward an installation defined goal, which may be a response time goal, and toward an installation defined importance level. A response time goal is an objective that the system and the component workload manager attempts to meet. The system attempts to meet the goals of the most important work first by assigning system resources to that work to meet the goal.
For each service class, the computer system provides management and/or reporting facilities. The computer system may report one transaction into one or several report classes based on sets of predefined rules. A report class works for reporting purposes only. A report class is not a mechanism for managing work, but is used for the user of the system to observe how work performs. The system may associate each unit of work with one service class (mandatory) and one or more report classes (optional).
Because saving individual response times of all transactions associated with a service or report class takes a large amount of storage space, the system may provide a consolidated reporting of transaction response times over time periods. This consolidated reporting is referred to as a response time distribution (RTD).
A response time distribution (RTD) is a form of histogram. In statistics, a histogram is a graphical representation showing a visual impression of the distribution of data. A histogram consists of tabular frequencies erected over discrete intervals, referred to as “buckets” or “bins.” The height of a rectangle is also equal to the frequency density of the interval, i.e., the frequency divided by the width of the interval. The total area of the histogram is equal to the number of data. A histogram may also be normalized displaying relative frequencies. It then shows the proportion of cases that fall into each of several categories, with the total area equaling 1. The categories are usually specified as consecutive, non-overlapping intervals of a variable.
A response time distribution (RTD) depicts the behavior of a transaction-based system by assigning each completed transaction to a bucket based on response time. Each bucket represents a range of response times based on a midpoint. A response time distribution is static, because the ranges represented by the buckets and the midpoint are determined ahead of time. The midpoint may be derived based on a response time goal or expected response time, for example.